<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- saved from url=(0058)http://4d.websitetoolbox.com/post/4DGL-disassembly-2916847 -->
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<script type="text/javascript" async="" src="http://p.chango.com/static/c.js"></script><script type="text/javascript" async="" src="http://cdn.viglink.com/api/vglnk.js"></script><script language="JavaScript" type="text/javascript">var global_hash = {sso_disabled : 1, username_regexp : '^[a-zA-Z_0-9]+$', AppId : ''}</script>
<script type="text/javascript" src="./4DGL disassembly - 4D SYSTEMS FORUM_files/jquery.min.js"></script><style type="text/css"></style>
<script src="./4DGL disassembly - 4D SYSTEMS FORUM_files/jquery-ui.min.js" language="JavaScript"></script>
<link type="text/css" rel="stylesheet" href="./4DGL disassembly - 4D SYSTEMS FORUM_files/jquery-ui.css">
<script language="JavaScript" type="text/javascript" src="./4DGL disassembly - 4D SYSTEMS FORUM_files/global.js"></script>



	<link rel="alternate" type="application/rss+xml" title="Forums RSS Feed" href="http://4d.websitetoolbox.com/external">
	
	
		<link rel="alternate" type="application/rss+xml" title="Forums - - RSS Feed" href="http://4d.websitetoolbox.com/external?forumids=96296">
	

<title>4DGL disassembly - 4D SYSTEMS FORUM</title>




<link href="./4DGL disassembly - 4D SYSTEMS FORUM_files/forum_global.css" rel="stylesheet" type="text/css">


	
	
		
		<link href="./4DGL disassembly - 4D SYSTEMS FORUM_files/glossy_orange.css" rel="stylesheet" type="text/css">
		






	
<style>
<!--
.nav td {
  padding-bottom: 0px;
}
-->
</style>
	




<style type="text/css">.fb_hidden{position:absolute;top:-10000px;z-index:10001}
.fb_invisible{display:none}
.fb_reset{background:none;border-spacing:0;border:0;color:#000;cursor:auto;direction:ltr;font-family:"lucida grande", tahoma, verdana, arial, sans-serif;font-size:11px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:1;margin:0;overflow:visible;padding:0;text-align:left;text-decoration:none;text-indent:0;text-shadow:none;text-transform:none;visibility:visible;white-space:normal;word-spacing:normal}
.fb_link img{border:none}
.fb_dialog{background:rgba(82, 82, 82, .7);position:absolute;top:-10000px;z-index:10001}
.fb_dialog_advanced{padding:10px;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px}
.fb_dialog_content{background:#fff;color:#333}
.fb_dialog_close_icon{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yA/x/IE9JII6Z1Ys.png) no-repeat scroll 0 0 transparent;_background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/y6/x/s816eWC-2sl.gif);cursor:pointer;display:block;height:15px;position:absolute;right:18px;top:17px;width:15px;top:8px\9;right:7px\9}
.fb_dialog_mobile .fb_dialog_close_icon{top:5px;left:5px;right:auto}
.fb_dialog_padding{background-color:transparent;position:absolute;width:1px;z-index:-1}
.fb_dialog_close_icon:hover{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yA/x/IE9JII6Z1Ys.png) no-repeat scroll 0 -15px transparent;_background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/y6/x/s816eWC-2sl.gif)}
.fb_dialog_close_icon:active{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yA/x/IE9JII6Z1Ys.png) no-repeat scroll 0 -30px transparent;_background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/y6/x/s816eWC-2sl.gif)}
.fb_dialog_loader{background-color:#f2f2f2;border:1px solid #606060;font-size:24px;padding:20px}
.fb_dialog_top_left,
.fb_dialog_top_right,
.fb_dialog_bottom_left,
.fb_dialog_bottom_right{height:10px;width:10px;overflow:hidden;position:absolute}
/* @noflip */
.fb_dialog_top_left{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yR/x/8YeTNIlTZjm.png) no-repeat 0 0;left:-10px;top:-10px}
/* @noflip */
.fb_dialog_top_right{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yR/x/8YeTNIlTZjm.png) no-repeat 0 -10px;right:-10px;top:-10px}
/* @noflip */
.fb_dialog_bottom_left{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yR/x/8YeTNIlTZjm.png) no-repeat 0 -20px;bottom:-10px;left:-10px}
/* @noflip */
.fb_dialog_bottom_right{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yR/x/8YeTNIlTZjm.png) no-repeat 0 -30px;right:-10px;bottom:-10px}
.fb_dialog_vert_left,
.fb_dialog_vert_right,
.fb_dialog_horiz_top,
.fb_dialog_horiz_bottom{position:absolute;background:#525252;filter:alpha(opacity=70);opacity:.7}
.fb_dialog_vert_left,
.fb_dialog_vert_right{width:10px;height:100%}
.fb_dialog_vert_left{margin-left:-10px}
.fb_dialog_vert_right{right:0;margin-right:-10px}
.fb_dialog_horiz_top,
.fb_dialog_horiz_bottom{width:100%;height:10px}
.fb_dialog_horiz_top{margin-top:-10px}
.fb_dialog_horiz_bottom{bottom:0;margin-bottom:-10px}
.fb_dialog_iframe{line-height:0}
.fb_dialog_content .dialog_title{background:#6d84b4;border:1px solid #3b5998;color:#fff;font-size:14px;font-weight:bold;margin:0}
.fb_dialog_content .dialog_title > span{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yD/x/Cou7n-nqK52.gif)
no-repeat 5px 50%;float:left;padding:5px 0 7px 26px}
body.fb_hidden{-webkit-transform:none;height:100%;margin:0;left:-10000px;overflow:visible;position:absolute;top:-10000px;width:100%
}
.fb_dialog.fb_dialog_mobile.loading{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yc/x/3rhSv5V8j3o.gif)
white no-repeat 50% 50%;min-height:100%;min-width:100%;overflow:hidden;position:absolute;top:0;z-index:10001}
.fb_dialog.fb_dialog_mobile.loading.centered{max-height:590px;min-height:590px;max-width:500px;min-width:500px}
#fb-root #fb_dialog_ipad_overlay{background:rgba(0, 0, 0, .45);position:absolute;left:0;top:0;width:100%;min-height:100%;z-index:10000}
#fb-root #fb_dialog_ipad_overlay.hidden{display:none}
.fb_dialog.fb_dialog_mobile.loading iframe{visibility:hidden}
.fb_dialog_content .dialog_header{-webkit-box-shadow:white 0 1px 1px -1px inset;background:-webkit-gradient(linear, 0 0, 0 100%, from(#738ABA), to(#2C4987));border-bottom:1px solid;border-color:#1d4088;color:#fff;font:14px Helvetica, sans-serif;font-weight:bold;text-overflow:ellipsis;text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0;vertical-align:middle;white-space:nowrap}
.fb_dialog_content .dialog_header table{-webkit-font-smoothing:subpixel-antialiased;height:43px;width:100%
}
.fb_dialog_content .dialog_header td.header_left{font-size:12px;padding-left:5px;vertical-align:middle;width:60px
}
.fb_dialog_content .dialog_header td.header_right{font-size:12px;padding-right:5px;vertical-align:middle;width:60px
}
.fb_dialog_content .touchable_button{background:-webkit-gradient(linear, 0 0, 0 100%, from(#4966A6),
color-stop(0.5, #355492), to(#2A4887));border:1px solid #29447e;-webkit-background-clip:padding-box;-webkit-border-radius:3px;-webkit-box-shadow:rgba(0, 0, 0, .117188) 0 1px 1px inset,
rgba(255, 255, 255, .167969) 0 1px 0;display:inline-block;margin-top:3px;max-width:85px;line-height:18px;padding:4px 12px;position:relative}
.fb_dialog_content .dialog_header .touchable_button input{border:none;background:none;color:#fff;font:12px Helvetica, sans-serif;font-weight:bold;margin:2px -12px;padding:2px 6px 3px 6px;text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0}
.fb_dialog_content .dialog_header .header_center{color:#fff;font-size:16px;font-weight:bold;line-height:18px;text-align:center;vertical-align:middle}
.fb_dialog_content .dialog_content{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yJ/x/jKEcVPZFk-2.gif) no-repeat 50% 50%;border:1px solid #555;border-bottom:0;border-top:0;height:150px}
.fb_dialog_content .dialog_footer{background:#f2f2f2;border:1px solid #555;border-top-color:#ccc;height:40px}
#fb_dialog_loader_close{float:left}
.fb_dialog.fb_dialog_mobile .fb_dialog_close_button{text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0}
.fb_dialog.fb_dialog_mobile .fb_dialog_close_icon{visibility:hidden}
.fb_iframe_widget{position:relative;display:-moz-inline-block;display:inline-block}
.fb_iframe_widget iframe{position:absolute}
.fb_iframe_widget_lift{z-index:1}
.fb_iframe_widget span{position:relative;display:inline-block;vertical-align:text-bottom;text-align:justify}
.fb_hide_iframes iframe{position:relative;left:-10000px}
.fb_iframe_widget_loader{position:relative;display:inline-block}
.fb_iframe_widget_fluid{display:inline}
.fb_iframe_widget_fluid span{width:100%}
.fb_iframe_widget_loader iframe{min-height:32px;z-index:2;zoom:1}
.fb_iframe_widget_loader .FB_Loader{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yJ/x/jKEcVPZFk-2.gif) no-repeat;height:32px;width:32px;margin-left:-16px;position:absolute;left:50%;z-index:4}
.fb_button_simple,
.fb_button_simple_rtl{background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/yH/x/eIpbnVKI9lR.png);background-repeat:no-repeat;cursor:pointer;outline:none;text-decoration:none}
.fb_button_simple_rtl{background-position:right 0}
.fb_button_simple .fb_button_text{margin:0 0 0 20px;padding-bottom:1px}
.fb_button_simple_rtl .fb_button_text{margin:0 10px 0 0}
a.fb_button_simple:hover .fb_button_text,
a.fb_button_simple_rtl:hover .fb_button_text,
.fb_button_simple:hover .fb_button_text,
.fb_button_simple_rtl:hover .fb_button_text{text-decoration:underline}
.fb_button,
.fb_button_rtl{background:#29447e url(http://static.ak.fbcdn.net/rsrc.php/v2/yl/x/FGFbc80dUKj.png);background-repeat:no-repeat;cursor:pointer;display:inline-block;padding:0 0 0 1px;text-decoration:none;outline:none}
.fb_button .fb_button_text,
.fb_button_rtl .fb_button_text{background:#5f78ab url(http://static.ak.fbcdn.net/rsrc.php/v2/yl/x/FGFbc80dUKj.png);border-top:solid 1px #879ac0;border-bottom:solid 1px #1a356e;color:#fff;display:block;font-family:"lucida grande",tahoma,verdana,arial,sans-serif;font-weight:bold;padding:2px 6px 3px 6px;margin:1px 1px 0 21px;text-shadow:none}
a.fb_button,
a.fb_button_rtl,
.fb_button,
.fb_button_rtl{text-decoration:none}
a.fb_button:active .fb_button_text,
a.fb_button_rtl:active .fb_button_text,
.fb_button:active .fb_button_text,
.fb_button_rtl:active .fb_button_text{border-bottom:solid 1px #29447e;border-top:solid 1px #45619d;background:#4f6aa3;text-shadow:none}
.fb_button_xlarge,
.fb_button_xlarge_rtl{background-position:left -60px;font-size:24px;line-height:30px}
.fb_button_xlarge .fb_button_text{padding:3px 8px 3px 12px;margin-left:38px}
a.fb_button_xlarge:active{background-position:left -99px}
.fb_button_xlarge_rtl{background-position:right -268px}
.fb_button_xlarge_rtl .fb_button_text{padding:3px 8px 3px 12px;margin-right:39px}
a.fb_button_xlarge_rtl:active{background-position:right -307px}
.fb_button_large,
.fb_button_large_rtl{background-position:left -138px;font-size:13px;line-height:16px}
.fb_button_large .fb_button_text{margin-left:24px;padding:2px 6px 4px 6px}
a.fb_button_large:active{background-position:left -163px}
.fb_button_large_rtl{background-position:right -346px}
.fb_button_large_rtl .fb_button_text{margin-right:25px}
a.fb_button_large_rtl:active{background-position:right -371px}
.fb_button_medium,
.fb_button_medium_rtl{background-position:left -188px;font-size:11px;line-height:14px}
a.fb_button_medium:active{background-position:left -210px}
.fb_button_medium_rtl{background-position:right -396px}
.fb_button_text_rtl,
.fb_button_medium_rtl .fb_button_text{padding:2px 6px 3px 6px;margin-right:22px}
a.fb_button_medium_rtl:active{background-position:right -418px}
.fb_button_small,
.fb_button_small_rtl{background-position:left -232px;font-size:10px;line-height:10px}
.fb_button_small .fb_button_text{padding:2px 6px 3px;margin-left:17px}
a.fb_button_small:active,
.fb_button_small:active{background-position:left -250px}
.fb_button_small_rtl{background-position:right -440px}
.fb_button_small_rtl .fb_button_text{padding:2px 6px;margin-right:18px}
a.fb_button_small_rtl:active{background-position:right -458px}
.fb_share_count_wrapper{position:relative;float:left}
.fb_share_count{background:#b0b9ec none repeat scroll 0 0;color:#333;font-family:"lucida grande", tahoma, verdana, arial, sans-serif;text-align:center}
.fb_share_count_inner{background:#e8ebf2;display:block}
.fb_share_count_right{margin-left:-1px;display:inline-block}
.fb_share_count_right .fb_share_count_inner{border-top:solid 1px #e8ebf2;border-bottom:solid 1px #b0b9ec;margin:1px 1px 0 1px;font-size:10px;line-height:10px;padding:2px 6px 3px;font-weight:bold}
.fb_share_count_top{display:block;letter-spacing:-1px;line-height:34px;margin-bottom:7px;font-size:22px;border:solid 1px #b0b9ec}
.fb_share_count_nub_top{border:none;display:block;position:absolute;left:7px;top:35px;margin:0;padding:0;width:6px;height:7px;background-repeat:no-repeat;background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/yP/x/bSOHtKbCGYI.png)}
.fb_share_count_nub_right{border:none;display:inline-block;padding:0;width:5px;height:10px;background-repeat:no-repeat;background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/yL/x/i_oIVTKMYsL.png);vertical-align:top;background-position:right 5px;z-index:10;left:2px;margin:0 2px 0 0;position:relative}
.fb_share_no_count{display:none}
.fb_share_size_Small .fb_share_count_right .fb_share_count_inner{font-size:10px}
.fb_share_size_Medium .fb_share_count_right .fb_share_count_inner{font-size:11px;padding:2px 6px 3px;letter-spacing:-1px;line-height:14px}
.fb_share_size_Large .fb_share_count_right .fb_share_count_inner{font-size:13px;line-height:16px;padding:2px 6px 4px;font-weight:normal;letter-spacing:-1px}
.fb_share_count_hidden .fb_share_count_nub_top,
.fb_share_count_hidden .fb_share_count_top,
.fb_share_count_hidden .fb_share_count_nub_right,
.fb_share_count_hidden .fb_share_count_right{visibility:hidden}
.fb_connect_bar_container div,
.fb_connect_bar_container span,
.fb_connect_bar_container a,
.fb_connect_bar_container img,
.fb_connect_bar_container strong{background:none;border-spacing:0;border:0;direction:ltr;font-style:normal;font-variant:normal;letter-spacing:normal;line-height:1;margin:0;overflow:visible;padding:0;text-align:left;text-decoration:none;text-indent:0;text-shadow:none;text-transform:none;visibility:visible;white-space:normal;word-spacing:normal;vertical-align:baseline}
.fb_connect_bar_container{position:fixed;left:0 !important;right:0 !important;height:42px !important;padding:0 25px !important;margin:0 !important;vertical-align:middle !important;border-bottom:1px solid #333 !important;background:#3b5998 !important;z-index:99999999 !important;overflow:hidden !important}
.fb_connect_bar_container_ie6{position:absolute;top:expression(document.compatMode=="CSS1Compat"? document.documentElement.scrollTop+"px":body.scrollTop+"px")}
.fb_connect_bar{position:relative;margin:auto;height:100%;width:100%;padding:6px 0 0 0 !important;background:none;color:#fff !important;font-family:"lucida grande", tahoma, verdana, arial, sans-serif !important;font-size:13px !important;font-style:normal !important;font-variant:normal !important;font-weight:normal !important;letter-spacing:normal !important;line-height:1 !important;text-decoration:none !important;text-indent:0 !important;text-shadow:none !important;text-transform:none !important;white-space:normal !important;word-spacing:normal !important}
.fb_connect_bar a:hover{color:#fff}
.fb_connect_bar .fb_profile img{height:30px;width:30px;vertical-align:middle;margin:0 6px 5px 0}
.fb_connect_bar div a,
.fb_connect_bar span,
.fb_connect_bar span a{color:#bac6da;font-size:11px;text-decoration:none}
.fb_connect_bar .fb_buttons{float:right;margin-top:7px}
.fb_edge_widget_with_comment{position:relative;*z-index:1000}
.fb_edge_widget_with_comment span.fb_edge_comment_widget{position:absolute}
.fb_edge_widget_with_comment span.fb_send_button_form_widget{z-index:1}
.fb_edge_widget_with_comment span.fb_send_button_form_widget .FB_Loader{left:0;top:1px;margin-top:6px;margin-left:0;background-position:50% 50%;background-color:#fff;height:150px;width:394px;border:1px #666 solid;border-bottom:2px solid #283e6c;z-index:1}
.fb_edge_widget_with_comment span.fb_send_button_form_widget.dark .FB_Loader{background-color:#000;border-bottom:2px solid #ccc}
.fb_edge_widget_with_comment span.fb_send_button_form_widget.siderender
.FB_Loader{margin-top:0}
.fbpluginrecommendationsbarleft,
.fbpluginrecommendationsbarright{position:fixed !important;bottom:0;z-index:999}
/* @noflip */
.fbpluginrecommendationsbarleft{left:10px}
/* @noflip */
.fbpluginrecommendationsbarright{right:10px}</style></head><style type="text/css">embed[type*="application/x-shockwave-flash"],embed[src*=".swf"],object[type*="application/x-shockwave-flash"],object[codetype*="application/x-shockwave-flash"],object[src*=".swf"],object[codebase*="swflash.cab"],object[classid*="D27CDB6E-AE6D-11cf-96B8-444553540000"],object[classid*="d27cdb6e-ae6d-11cf-96b8-444553540000"],object[classid*="D27CDB6E-AE6D-11cf-96B8-444553540000"]{	display: none !important;}</style><style type="text/css"></style>



		


<body class="nolinks" data-twttr-rendered="true">

<div id="fb-root" class=" fb_reset"><script async="" src="./4DGL disassembly - 4D SYSTEMS FORUM_files/all.js"></script><div style="position: absolute; top: -10000px; height: 0px; width: 0px;"><div><iframe name="fb_xdm_frame_http" frameborder="0" scrolling="no" tabindex="-1" style="border: none;" src="./4DGL disassembly - 4D SYSTEMS FORUM_files/xd_arbiter.htm"></iframe><iframe name="fb_xdm_frame_https" frameborder="0" scrolling="no" tabindex="-1" style="border: none;" src="./4DGL disassembly - 4D SYSTEMS FORUM_files/xd_arbiter(1).htm"></iframe></div></div><div style="position: absolute; top: -10000px; height: 0px; width: 0px;"><div></div></div></div>








		<img src="./4DGL disassembly - 4D SYSTEMS FORUM_files/file">

<div class="ghost">Create a <a href="http://www.websitetoolbox.com/forum-hosting/index.html" title="website forum">Website Forum</a>, 
	<a href="http://www.websitetoolbox.com/guestbooks/index.html" title="guestbook hosting">Guestbook Hosting</a>, or 
	<a href="http://www.websitetoolbox.com/chat_room/index.html" title="website chat room">Website Chat Room</a> for your website.</div>


<div class="body_container">

<div class="page_heading_txt">4D SYSTEMS FORUM<p></p></div>

<div id="main_container">
	<div id="divThreadTools" class="tooltipMenu iconLinks" style="display:none;"></div>
<!-- Top Navigation -->

<table border="0" cellpadding="0" cellspacing="0" width="100%">
	<tbody><tr>
	    <td class="topnav_left_img"></td>
		<td valign="top" class="topnav_bg_img">
			<table border="0" cellspacing="0" cellpadding="0" id="topnavTable">
				<tbody><tr>
					<td>
					<table border="0" cellspacing="0" cellpadding="0" id="top_navButtonTable" class="topnav_active">
						<tbody><tr>
						
							
								
								
									 
									
										
										
											

<!-- Navigation Link Block -->


	
	<td class="register_img" valign="bottom"></td>
	<td class="topnav_middle" id="td_tab_register"><a href="http://4d.websitetoolbox.com/register/register" id="anchor_tab_register">Register</a></td>
	
	


											
									
								
								
								
									

<!-- Navigation Link Block -->


	
		<td class="top_nav_divider"></td>
	
	<td class="login_img" valign="bottom"></td>
	<td class="topnav_middle" id="td_tab_login"><a href="http://4d.websitetoolbox.com/register/login" id="anchor_tab_login" class="login_dialog">Login</a></td>
	
	


								
								
								
									

<!-- Navigation Link Block -->


	
		<td class="top_nav_divider"></td>
	
	<td class="search_img" valign="bottom"></td>
	<td class="topnav_middle" id="td_tab_search"><a href="http://4d.websitetoolbox.com/search" id="anchor_tab_search">Search</a></td>
	
	


							  
							
						
						
						
							
							
								

<!-- Navigation Link Block -->


	
		<td class="top_nav_divider"></td>
	
	<td class="new_post_img" valign="bottom"></td>
	<td class="topnav_middle" id="td_tab_newpost"><a href="http://4d.websitetoolbox.com/search?do=newposts&action=doSearch" id="anchor_tab_newpost">New Posts</a></td>
	
	


									
						
						
						
						
						
						
							
							
						</tr>
					</tbody></table>
					</td>
				</tr>
			</tbody></table>
		</td>
		<td class="topnav_right_img"></td>
	</tr>
</tbody></table>
<!-- End of Top Navigation -->

	<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" id="login_areaTable">
						<tbody><tr>
							<td valign="top"></td>
							<td valign="top" height="10px"></td>
							<td align="right" height="10px"></td>
							<td align="right"></td>
						</tr>
						<tr>
							<td valign="top">&nbsp;</td>
							<td valign="top" align="left">
							<table width="100%" border="0" cellpadding="0" cellspacing="0">
							<tbody><tr>
								<td valign="top"><div class="breadcrumbs"><a href="http://www.4dsystems.com.au/" target="_top">4D Systems</a>   &gt; <a href="http://4d.websitetoolbox.com/">Forums</a> &gt; <a href="http://4d.websitetoolbox.com/?forum=96296">4D Software Tools (Other)</a> &gt; <b>4DGL disassembly</b></div></td>
							</tr>
							<tr>
								<td>&nbsp; </td>
							</tr>
								
							</tbody></table>
							</td>
							<td align="right" valign="top">
								<div id="user_navigation"></div>
							</td>
							<td>&nbsp;</td>
						</tr>
						<tr>
							<td colspan="4"><img src="./4DGL disassembly - 4D SYSTEMS FORUM_files/clear.gif" width="1" height="10px"></td>
						</tr>
						<tr>
							<td colspan="4" valign="top" class="horizontal_divider"></td>
						</tr>
					</tbody></table><div class="middle_container">
		<div align="center"></div><br><br>
		<table border="0" cellspacing="0" cellpadding="0" width="100%">
			<tbody><tr><td align="left">
						<form name="inline_search_form" method="post" action="http://4d.websitetoolbox.com/search" id="inline_search_form">
							<div id="inline_search_box">
								<a href="http://4d.websitetoolbox.com/post/4DGL-disassembly-2916847#" onclick="document.inline_search_form.submit();return false;"><div class="glass" name="btnSearch"></div></a>
								<input type="text" name="keywords" placeholder="Search This Topic" size="25" id="inline_search_textbox">
								<input type="hidden" name="threadid" value="2916847">
								<input type="hidden" name="action" value="doSearch">
								<input type="hidden" name="do" value="findposts">
								
								<!--[if IE]>
								<script type="text/javascript">
								// A no-dependancy quick and dirty method of adding basic
								// placeholder functionality to Internet Explorer 5.5+

								function add_placeholder (id, placeholder)
								{
									var el = document.getElementById(id);
									if (el) {
										el.placeholder = placeholder;

										el.onfocus = function ()
										{
											if(this.value == this.placeholder)
											{
												this.value = '';
												el.style.cssText  = '';
											}
										};

										el.onblur = function ()
										{
											if(this.value.length == 0)
											{
												this.value = this.placeholder;
												el.style.cssText = 'color:#A9A9A9;';
											}
										};

										el.onblur();
									}
								}

								add_placeholder('inline_search_textbox', 'Search This Topic');

								</script>
								<![endif]-->
								
							</div></form>
				    </td><td valign="bottom" align="right">
				<table border="0" cellpadding="0" cellspacing="0" class="controls_middle">
					<tbody><tr><td class="top_control_tab_leftcurve"></td>
						<td class="top_control_tab_middle" id="td_tab_reply_up"><a href="http://4d.websitetoolbox.com/post/printadd?id=2916847" id="anchor_tab_reply_up">Reply</a></td>
						<td class="top_control_tab_rightcurve"></td>
					</tr>
				</tbody></table>
				</td>
			</tr>
			</tbody></table>
			<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%">
				<tbody><tr>

					<td colspan="3">
					<table border="0" width="100%" cellpadding="0" cellspacing="0">
					<tbody><tr class="table_top_middle">
						<td class="table_topleft_corner">&nbsp;</td>
						<td>
							<table border="0" cellspacing="0" cellpadding="0" width="100%">
							<tbody><tr>
								<td valign="top" width="19%" class="table_header">Author</td>
								<td valign="top" class="table_header">Comment</td>
								<td align="right" class="table_bottom_txt"><div id="pagination"> </div></td>
							</tr>
							</tbody></table>
						</td>
						<td class="table_topright_corner">&nbsp;</td>
					</tr>
					</tbody></table>
					</td>
				</tr>
				</tbody></table>
				<form name="posts" id="posts" action="http://4d.websitetoolbox.com/mbactions" method="post">
				<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" class="tables">
				<tbody id="main_posts_table"><tr id="tr_28125721" class="table_row"><td id="td1_1" nowrap="" width="19%" valign="top" align="left"><div id="divMemberMenu926155" class="tooltipMenu iconLinks" nowrap="" style="display:none;"><a href="http://4d.websitetoolbox.com/profile/926155">View Member Profile</a><a href="http://4d.websitetoolbox.com/pm?userid=926155">Send Private Message</a><a href="http://4d.websitetoolbox.com/email?userid=926155">Send Email</a><a href="http://4d.websitetoolbox.com/search?userid=926155&do=findthreads&action=doSearch">Find Member's Topics</a>
			<a href="http://4d.websitetoolbox.com/search?userid=926155&do=findposts&action=doSearch">Find Member's Posts</a></div><span class="status_offline" title="Offline"><a href="http://4d.websitetoolbox.com/profile/926155" onclick="toggleTooltip(&#39;&#39;,document.getElementById(&#39;divMemberMenu926155&#39;),this); return false;">Inopia</a></span><br><br>Registered: 09/07/08<br>
Posts: 20
</td><td id="td2_1" valign="top" height="100%"><table width="100%" border="0" cellpadding="0" cellspacing="0" class="post_body" height="100%">
	<tbody><tr>
		<td><a name="1"></a><a name="post28125721"></a><span class="read_post" title="Read post"></span> <span class="desc post_date">Posted 21/08/08 at 12:36 PM</span></td><td align="right"><a title="Reply with quote" alt="Reply with quote" href="http://4d.websitetoolbox.com/post/printadd?id=2916847&pid=28125721" id="quote_post"><span class="alt">Reply with quote</span></a>&nbsp;<a href="http://4d.websitetoolbox.com/post/show_single_post?pid=28125721&postcount=1" target="_blank" id="postcount_1" title="Show single post.">#1</a>&nbsp;</td></tr><tr><td colspan="2" valign="top"><hr size="1" class="post_date_divider"></td></tr>
		<tr><td class="post" colspan="2" valign="top" height="100%"><span id="post_message_28125721">I was bored so I wrote a partial disassembler for 4DGL. I had to guess the meaning of the different opcodes, so some things might be a bit wrong and only about 80% of the opcodes are implemented/understood. 
<br>

<br>
There's a couple of things I'm not completely sure about though, so I might be completely off in certain cases (especially that 0x16 equals POP)
<br>

<br>
Anyway, for those interested, here's a disassembly of Bounce2.4dg:
<br>

<br>
<div class="codebox">Code:</div><pre class="codebox_body">
   0    0 0x68 PUSHADDR_S        (222)

   3    3 0x24 CALL_B            (0)

   5    5 0x44 JUMP_B            (0)

   7    7 0x68 PUSHADDR_S        (65505)

  10    a 0x54 PUSH_B            (0)

  12    c 0x54 PUSH_B            (0)

  14    e 0x54 PUSH_B            (10)

  16   10 0x58 PUSH_S            (319)

  19   13 0x58 PUSH_S            (63488)

  22   16 0x24 CALL_B            (5)

  24   18 0x16 POP

  25   19 0x68 PUSHADDR_S        (65505)

  28   1c 0x54 PUSH_B            (0)

  30   1e 0x54 PUSH_B            (0)

  32   20 0x54 PUSH_B            (239)

  34   22 0x54 PUSH_B            (10)

  36   24 0x54 PUSH_B            (31)

  38   26 0x24 CALL_B            (5)

  40   28 0x16 POP

  41   29 0x68 PUSHADDR_S        (65505)

  44   2c 0x54 PUSH_B            (229)

  46   2e 0x54 PUSH_B            (0)

  48   30 0x54 PUSH_B            (239)

  50   32 0x58 PUSH_S            (319)

  53   35 0x58 PUSH_S            (65535)

  56   38 0x24 CALL_B            (5)

  58   3a 0x16 POP

  59   3b 0x68 PUSHADDR_S        (65505)

  62   3e 0x54 PUSH_B            (0)

  64   40 0x58 PUSH_S            (309)

  67   43 0x54 PUSH_B            (239)

  69   45 0x58 PUSH_S            (319)

  72   48 0x58 PUSH_S            (2016)

  75   4b 0x24 CALL_B            (5)

  77   4d 0x16 POP

  78   4e 0x0a RETURN

  79   4f 0xb4 LOADGLOBALVAR_B   (1)

  81   51 0x17 READ

  82   52 0x54 PUSH_B            (22)

  84   54 0x18 CMPGT

  85   55 0xe8 CONDJUMP2_S       (109)

  88   58 0xb4 LOADGLOBALVAR_B   (1)

  90   5a 0x54 PUSH_B            (22)

  92   5c 0x01 WRITE

  93   5d 0x16 POP

  94   5e 0xb4 LOADGLOBALVAR_B   (4)

  96   60 0x58 PUSH_S            (63488)

  99   63 0x01 WRITE

 100   64 0x16 POP

 101   65 0xb4 LOADGLOBALVAR_B   (5)

 103   67 0xb4 LOADGLOBALVAR_B   (5)

 105   69 0x17 READ

 106   6a 0x12 NEG

 107   6b 0x01 WRITE

 108   6c 0x16 POP

 109   6d 0xb4 LOADGLOBALVAR_B   (1)

 111   6f 0x17 READ

 112   70 0x54 PUSH_B            (218)

 114   72 0x0b CMPLS

 115   73 0xe8 CONDJUMP2_S       (139)

 118   76 0xb4 LOADGLOBALVAR_B   (1)

 120   78 0x54 PUSH_B            (218)

 122   7a 0x01 WRITE

 123   7b 0x16 POP

 124   7c 0xb4 LOADGLOBALVAR_B   (4)

 126   7e 0x58 PUSH_S            (65535)

 129   81 0x01 WRITE

 130   82 0x16 POP

 131   83 0xb4 LOADGLOBALVAR_B   (5)

 133   85 0xb4 LOADGLOBALVAR_B   (5)

 135   87 0x17 READ

 136   88 0x12 NEG

 137   89 0x01 WRITE

 138   8a 0x16 POP

 139   8b 0xb4 LOADGLOBALVAR_B   (2)

 141   8d 0x17 READ

 142   8e 0x54 PUSH_B            (22)

 144   90 0x18 CMPGT

 145   91 0xe8 CONDJUMP2_S       (168)

 148   94 0xb4 LOADGLOBALVAR_B   (2)

 150   96 0x54 PUSH_B            (22)

 152   98 0x01 WRITE

 153   99 0x16 POP

 154   9a 0xb4 LOADGLOBALVAR_B   (4)

 156   9c 0x54 PUSH_B            (31)

 158   9e 0x01 WRITE

 159   9f 0x16 POP

 160   a0 0xb4 LOADGLOBALVAR_B   (6)

 162   a2 0xb4 LOADGLOBALVAR_B   (6)

 164   a4 0x17 READ

 165   a5 0x12 NEG

 166   a6 0x01 WRITE

 167   a7 0x16 POP

 168   a8 0xb4 LOADGLOBALVAR_B   (2)

 170   aa 0x17 READ

 171   ab 0x58 PUSH_S            (298)

 174   ae 0x0b CMPLS

 175   af 0xe8 CONDJUMP2_S       (200)

 178   b2 0xb4 LOADGLOBALVAR_B   (2)

 180   b4 0x58 PUSH_S            (298)

 183   b7 0x01 WRITE

 184   b8 0x16 POP

 185   b9 0xb4 LOADGLOBALVAR_B   (4)

 187   bb 0x58 PUSH_S            (2016)

 190   be 0x01 WRITE

 191   bf 0x16 POP

 192   c0 0xb4 LOADGLOBALVAR_B   (6)

 194   c2 0xb4 LOADGLOBALVAR_B   (6)

 196   c4 0x17 READ

 197   c5 0x12 NEG

 198   c6 0x01 WRITE

 199   c7 0x16 POP

 200   c8 0x0a RETURN

 201   c9 0x94 LOADPARAM_B       (0)

 203   cb 0x17 READ

 204   cc 0x54 PUSH_B            (0)

 206   ce 0x1a CMPLE

 207   cf 0xe8 CONDJUMP2_S       (221)

 210   d2 0x64 PUSHADDR_B        (201)

 212   d4 0x94 LOADPARAM_B       (0)

 214   d6 0x17 READ

 215   d7 0x54 PUSH_B            (1)

 217   d9 0x0d SUB

 218   da 0x24 CALL_B            (1)

 220   dc 0x16 POP

 221   dd 0x0a RETURN

 222   de 0xb4 LOADGLOBALVAR_B   (4)

 224   e0 0x58 PUSH_S            (65535)

 227   e3 0x01 WRITE

 228   e4 0x16 POP

 229   e5 0xb4 LOADGLOBALVAR_B   (5)

 231   e7 0x54 PUSH_B            (1)

 233   e9 0x01 WRITE

 234   ea 0x16 POP

 235   eb 0xb4 LOADGLOBALVAR_B   (6)

 237   ed 0x54 PUSH_B            (1)

 239   ef 0x01 WRITE

 240   f0 0x16 POP

 241   f1 0xb4 LOADGLOBALVAR_B   (1)

 243   f3 0x54 PUSH_B            (50)

 245   f5 0x01 WRITE

 246   f6 0x16 POP

 247   f7 0xb4 LOADGLOBALVAR_B   (2)

 249   f9 0x54 PUSH_B            (50)

 251   fb 0x01 WRITE

 252   fc 0x16 POP

 253   fd 0x68 PUSHADDR_S        (65508)

 256  100 0xb4 LOADGLOBALVAR_B   (1)

 258  102 0x17 READ

 259  103 0xb4 LOADGLOBALVAR_B   (2)

 261  105 0x17 READ

 262  106 0x54 PUSH_B            (10)

 264  108 0xb4 LOADGLOBALVAR_B   (4)

 266  10a 0x17 READ

 267  10b 0x24 CALL_B            (4)

 269  10d 0x16 POP

 270  10e 0x64 PUSHADDR_B        (7)

 272  110 0x24 CALL_B            (0)

 274  112 0x16 POP

 275  113 0x54 PUSH_B            (1)

 277  115 0xe8 CONDJUMP2_S       (355)

 280  118 0x68 PUSHADDR_S        (65469)

 283  11b 0x24 CALL_B            (0)

 285  11d 0x16 POP

 286  11e 0x68 PUSHADDR_S        (65508)

 289  121 0xb4 LOADGLOBALVAR_B   (1)

 291  123 0x17 READ

 292  124 0xb4 LOADGLOBALVAR_B   (2)

 294  126 0x17 READ

 295  127 0x54 PUSH_B            (10)

 297  129 0x54 PUSH_B            (0)

 299  12b 0x24 CALL_B            (4)

 301  12d 0x16 POP

 302  12e 0xb4 LOADGLOBALVAR_B   (1)

 304  130 0xb4 LOADGLOBALVAR_B   (1)

 306  132 0x17 READ

 307  133 0xb4 LOADGLOBALVAR_B   (5)

 309  135 0x17 READ

 310  136 0x54 PUSH_B            (1)

 312  138 0x0e MUL

 313  139 0x0c ADD

 314  13a 0x01 WRITE

 315  13b 0x16 POP

 316  13c 0xb4 LOADGLOBALVAR_B   (2)

 318  13e 0xb4 LOADGLOBALVAR_B   (2)

 320  140 0x17 READ

 321  141 0xb4 LOADGLOBALVAR_B   (6)

 323  143 0x17 READ

 324  144 0x54 PUSH_B            (2)

 326  146 0x0e MUL

 327  147 0x0c ADD

 328  148 0x01 WRITE

 329  149 0x16 POP

 330  14a 0x64 PUSHADDR_B        (79)

 332  14c 0x24 CALL_B            (0)

 334  14e 0x16 POP

 335  14f 0x68 PUSHADDR_S        (65508)

 338  152 0xb4 LOADGLOBALVAR_B   (1)

 340  154 0x17 READ

 341  155 0xb4 LOADGLOBALVAR_B   (2)

 343  157 0x17 READ

 344  158 0x54 PUSH_B            (10)

 346  15a 0xb4 LOADGLOBALVAR_B   (4)

 348  15c 0x17 READ

 349  15d 0x24 CALL_B            (4)

 351  15f 0x16 POP

 352  160 0xd8 CONDJUMP1_S       (275)

 355  163 0x0a RETURN

</pre>
<br>

<br>
The _B and _S suffixes indicate wether the instruction is 2 or 3 bytes long respectively. So a jump to a byte address is two bytes (opcode, address), a jump to a short (S16) adress is 3 bytes (opcode, address_lsb, address_msb). 
<br>

<br>
Function calls are made like this:
<br>
1) push function adress on the stack with PUSHADDR_&lt;T&gt;
<br>
2) push any arguments on the stack
<br>
3) call the method with CALL(n), where n equals the number of arguments
<br>

<br>
System functions such as gfx_Cls() are called by pushing a negative address on the stack. The functions and their corresponding ID's can be obtained by looking in o.aux after compilation. 
<br>

<br>
<div class="codebox">Code:</div><pre class="codebox_body">
[INHERITED] gfx_Cls, TOKEN -25

Function requires no arguments

Function returns no value

</pre>
<br>

<br>
So to call gfx_Cls you would write something like
<br>
<div class="codebox">Code:</div><pre class="codebox_body">
PUSHADDR_S(-25)

CALL(0)

</pre>
<br>

<br>
The different functions are placed one behind the other in the output file. The first two instructions construct a call to the main() method (at address 222 in the example). The third instruction jumps to address 0. Each function ends with the RETURN instruction.
<br>

<br>
Here's my (partial) opcode table. It's a Java enum, if you were wondering:
<br>

<br>
<div class="codebox">Code:</div><pre class="codebox_body">
 &nbsp; &nbsp; &nbsp; &nbsp; WRITE &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0x01, InstructionHandle.factory()),

 &nbsp; &nbsp; &nbsp; &nbsp; CMPNE &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0x06, InstructionHandle.factory()),

 &nbsp; &nbsp; &nbsp; &nbsp; CMPGE &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0x08, InstructionHandle.factory()),

 &nbsp; &nbsp; &nbsp; &nbsp; RETURN &nbsp; &nbsp; &nbsp; &nbsp;   &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0x0a, InstructionHandle.factory()),

 &nbsp; &nbsp; &nbsp; &nbsp; CMPLS &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0x0b, InstructionHandle.factory()),

 &nbsp; &nbsp; &nbsp; &nbsp; ADD &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0x0c, InstructionHandle.factory()),

 &nbsp; &nbsp; &nbsp; &nbsp; SUB &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0x0d, InstructionHandle.factory()),

 &nbsp; &nbsp; &nbsp; &nbsp; MUL &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0x0e, InstructionHandle.factory()),

 &nbsp; &nbsp; &nbsp; &nbsp; DIV &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0x0f, InstructionHandle.factory()),



 &nbsp; &nbsp; &nbsp; &nbsp; NOT &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0x11, InstructionHandle.factory()),

 &nbsp; &nbsp; &nbsp; &nbsp; NEG &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0x12, InstructionHandle.factory()),

 &nbsp; &nbsp; &nbsp; &nbsp; INC &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0x14, InstructionHandle.factory()), &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; // INC and DEC are done in place, in the address on top of the stack

 &nbsp; &nbsp; &nbsp; &nbsp; DEC &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0x15, InstructionHandle.factory()),

 &nbsp; &nbsp; &nbsp; &nbsp; READ &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0x17, InstructionHandle.factory()),

 &nbsp; &nbsp; &nbsp; &nbsp; POP &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0x16, InstructionHandle.factory()),

 &nbsp; &nbsp; &nbsp; &nbsp; CMPGT &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0x18, InstructionHandle.factory()),



 &nbsp; &nbsp; &nbsp; &nbsp; CMPLE &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0x1a, InstructionHandle.factory()),

 &nbsp; &nbsp; &nbsp; &nbsp; 

 &nbsp; &nbsp; &nbsp; &nbsp; CALL_B &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0x24, ByteValueInstructionHandle.factory()),

 &nbsp; &nbsp; &nbsp; &nbsp; CALL_S &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0x28, ShortValueInstructionHandle.factory()),



 &nbsp; &nbsp; &nbsp; &nbsp; PUSHSTR_B &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0x34, ByteSizeStringValueInstructionHandle.factory()),

 &nbsp; &nbsp; &nbsp; &nbsp; PUSHSTR_S &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0x38, ShortSizeStringValueInstructionHandle.factory()),



 &nbsp; &nbsp; &nbsp; &nbsp; JUMP_B &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0x44, ByteValueInstructionHandle.factory()),

 &nbsp; &nbsp; &nbsp; &nbsp; JUMP_S &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0x48, ShortValueInstructionHandle.factory()),



 &nbsp; &nbsp; &nbsp; &nbsp; PUSH_B &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0x54, ByteValueInstructionHandle.factory()),

 &nbsp; &nbsp; &nbsp; &nbsp; PUSH_S &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0x58, ShortValueInstructionHandle.factory()),

 &nbsp; &nbsp; &nbsp; &nbsp; 

 &nbsp; &nbsp; &nbsp; &nbsp; PUSHADDR_B &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0x64, ByteValueInstructionHandle.factory()),

 &nbsp; &nbsp; &nbsp; &nbsp; PUSHADDR_S &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0x68, ShortValueInstructionHandle.factory()),

 &nbsp; &nbsp; &nbsp; &nbsp; 

 &nbsp; &nbsp; &nbsp; &nbsp; LOADLOCALVAR_B &nbsp; &nbsp; &nbsp; &nbsp; (0x74, ByteValueInstructionHandle.factory()),

 &nbsp; &nbsp; &nbsp; &nbsp; LOADLOCALVAR_S &nbsp; &nbsp; &nbsp; &nbsp; (0x78, ShortValueInstructionHandle.factory()),



 &nbsp; &nbsp; &nbsp; &nbsp; LOADPARAM_B &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0x94, ByteValueInstructionHandle.factory()),

 &nbsp; &nbsp; &nbsp; &nbsp; LOADPARAM_S &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0x98, ShortValueInstructionHandle.factory()),



 &nbsp; &nbsp; &nbsp; &nbsp; LOADGLOBALVAR_B &nbsp; &nbsp; &nbsp; &nbsp; (0xb4, ByteValueInstructionHandle.factory()),

 &nbsp; &nbsp; &nbsp; &nbsp; LOADGLOBALVAR_S &nbsp; &nbsp; &nbsp; &nbsp; (0xb8, ShortValueInstructionHandle.factory()),



 &nbsp; &nbsp; &nbsp; &nbsp; CONDJUMP1_B &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0xd4, ByteValueInstructionHandle.factory()),

 &nbsp; &nbsp; &nbsp; &nbsp; CONDJUMP1_S &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0xd8, ShortValueInstructionHandle.factory()),



 &nbsp; &nbsp; &nbsp; &nbsp; CONDJUMP2_B &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0xe4, ByteValueInstructionHandle.factory()),

 &nbsp; &nbsp; &nbsp; &nbsp; CONDJUMP2_S &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0xe8, ShortValueInstructionHandle.factory()),

 &nbsp; &nbsp; &nbsp; &nbsp; 

 &nbsp; &nbsp; &nbsp; &nbsp; DATA &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; (0xff, InstructionHandle.factory())

</pre></span> </td></tr>
			<tr><td align="center" valign="bottom" colspan="2"><span style="display: none;" id="loading_28125721"><b>Loading...</b></span><span style="float:right"></span></td></tr></tbody></table></td></tr></tbody>
			</table>
			<table border="0" cellspacing="0" cellpadding="0" width="100%">
			<tbody><tr>
				<td colspan="7">
				<table width="100%" border="0" cellpadding="0" cellspacing="0">
				<tbody><tr>
					<td class="table_bottomleft_corner"></td>
					<td class="table_bottom_middle">
					<table width="100%" border="0" cellspacing="0" cellpadding="0">
					<tbody><tr>
						<td align="left" class="table_bottom_txt" width="40%">  <a href="http://4d.websitetoolbox.com/post?id=2916847&goto=nextoldest" id="" class="table_bottom_txt">Previous Topic</a>  | <a href="http://4d.websitetoolbox.com/post?id=2916847&goto=nextnewest" id="" class="table_bottom_txt">Next Topic</a> </td><td align="right" class="table_bottom_txt"><div id="pagination"> </div></td>
					</tr>
					</tbody></table></td>
					<td class="table_bottomright_corner"></td>
				</tr>
				</tbody></table>
				</td>
			</tr>
			<tr><td width="5" style="padding-right: 8px; padding-top:4px;"><a href="http://4d.websitetoolbox.com/printthread?id=2916847" title="Display a printer-friendly version of this page" class="printer_friendly_icon"><span class="alt">Print</span></a></td>	<td width="5" style="padding-right: 8px; padding-top:4px;">
								<iframe allowtransparency="true" frameborder="0" scrolling="no" src="./4DGL disassembly - 4D SYSTEMS FORUM_files/tweet_button.1358555536.htm" class="twitter-share-button twitter-count-none" style="width: 60px; height: 20px;" title="Twitter Tweet Button" data-twttr-rendered="true"></iframe>
								<script type="text/javascript" src="./4DGL disassembly - 4D SYSTEMS FORUM_files/widgets.js"></script>
							</td>
							<td width="120" style="padding-right: 8px; padding-top:4px;">
						
								<div class="fb-like fb_edge_widget_with_comment fb_iframe_widget" data-href="http://4d.websitetoolbox.com/post/4DGL-disassembly-2916847" data-send="true" data-layout="button_count" data-width="120" data-show-faces="false" fb-xfbml-state="rendered"><span style="height: 20px; width: 126px;"><iframe id="f2596719a8" name="f247c74104" scrolling="no" style="border: none; overflow: hidden; height: 20px; width: 126px;" title="Like this content on Facebook." class="fb_ltr" src="./4DGL disassembly - 4D SYSTEMS FORUM_files/like.htm"></iframe></span></div>
							</td><td align="right" valign="top">
						<table border="0" cellpadding="0" cellspacing="0" id="reply" class="controls_middle">
							<tbody><tr>
								<td class="bottom_control_tab_leftcureve"></td>
								<td class="bottom_control_tab_middle" id="td_tab_reply_btn"><a href="http://4d.websitetoolbox.com/post/printadd?id=2916847" id="anchor_tab_reply_btn">Reply</a></td>
								<td class="bottom_control_tab_rightcureve"></td>
								</tr>
						</tbody></table>
					</td></tr>
		</tbody></table>
		</form> <script language="javascript">
			function quicknavigation(fid)
			{   
				window.location.href = "/?forum="+fid;
			}
			</script>
			<form method="post" action="http://4d.websitetoolbox.com/" name="admindd"><br>
			<div id="quick_nav" class="message" style="text-align:right;">Quick Navigation: <select name="quick_nav_value" id="quicknav" class="dropDown" onchange="return quicknavigation(this.value); "><option value="">Select a Forum</option>
<option value="272255">IMPORTANT NOTICES</option>
<optgroup label="4D Systems - Hardware"><option value="272258">4D Intelligent Display Modules (Picaso)</option>
<option value="272277">4D Intelligent Display Modules (Goldelox)</option>
<option value="272259">Arduino Display Modules and Shields</option>
<option value="272260">Raspberry Pi Display Modules and Shields</option>
<option value="80922">microVGA Modules</option>
<option value="109338">microDrive Modules</option>
<option value="148812">Audio and Sound Modules</option>
<option value="272264">Development and Educational Tools</option>
<option value="80926">Programming Hardware</option>
</optgroup><optgroup label="4D Systems - Software"><option value="272266">Workshop 4 Software IDE</option>
<option value="272267">Workshop 4 - Designer Environment (Picaso)</option>
<option value="272268">Workshop 4 - ViSi Environment (Picaso)</option>
<option value="272269">Workshop 4 - ViSi-Genie Environment (Picaso)</option>
<option value="272270">Workshop 4 - Serial Environment (Picaso)</option>
<option value="272274">Workshop 4 - Designer Environment (Goldelox)</option>
<option value="272275">Workshop 4 - ViSi Environment (Goldelox)</option>
<option value="272276">Workshop 4 - Serial Environment (Goldelox)</option>
</optgroup><optgroup label="Tips and Important Information"><option value="152718">Anna's Sandbox</option>
<option value="126606">Getting Started</option>
<option value="126585">micro-USB Information</option>
</optgroup><optgroup label="FAQ - Frequently Asked Questions"><option value="126591">FAQ</option>
</optgroup><optgroup label="General"><option value="208076">Documentation</option>
<option value="80930">What's New</option>
<option value="80923">Suggestion Box</option>
<option value="135331">Chitchat</option>
</optgroup><optgroup label="Legacy"><option value="80927">Goldelox 4DGL Display modules</option>
<option value="183063">Picaso 4DGL Display modules</option>
<option value="148834">Goldelox SGC Serial Display Modules</option>
<option value="183064">Picaso SGC Serial Display Modules</option>
<option value="80924">micro-OLED Hardware</option>
<option value="80925">micro-LCD Hardware</option>
<option value="148814">uCAM-232 Imaging and Camera Modules</option>
<option value="148813">uCAM-TTL Imaging and Camera Modules</option>
<option value="80928">4DGL Workshop IDE (Version 3 and under)</option>
<option value="224214">4D Visi Software Tool</option>
<option value="148822">DISP Software Tool</option>
<option value="148830">FAT Controller Software Tool</option>
<option value="148824">Font Software Tool</option>
<option value="96297">Graphics Composer Software Tool</option>
<option value="135330">PmmC-Loader Programming Tool</option>
<option value="91746">PmmC (Personality Module Micro-Code)</option>
<option value="135327">SPE - Serial Platform Emulator</option>
</optgroup></select>
 
				<noscript>	
					&lt;input type="submit" value="Go" &gt;
					&lt;input type="hidden" name="action" value="quick_forum_redirect"&gt;
				</noscript>	
			</div>
			</form><script src="./4DGL disassembly - 4D SYSTEMS FORUM_files/spellChecker.js"></script>
			<script type="text/javascript">
					function openSpellChecker( txt ) {
						var speller = new spellChecker( txt );
						speller.openChecker();
					}
			</script>
	<script type="text/javascript" src="./4DGL disassembly - 4D SYSTEMS FORUM_files/tiny_mce.js"></script>
	<script type="text/javascript" src="./4DGL disassembly - 4D SYSTEMS FORUM_files/editor_tinymce.js"></script>
	<script type="text/javascript">
			var smilie_user = '4d';
	</script>
	<div id="smilie_popup" style="display:none;"></div>
	<div id="video_popup" style="display:none;">
		<label class="dialog_text" for="enter_video">Enter your video clip URL below:</label><p>
		<input id="dialog_input_value" class="textbox" size="51" type="text" value="http://">
		</p><div class="dialog_extra_text" id="video_list">
			Example: <a target="_blank" href="http://www.youtube.com/">http://www.youtube.com/watch?v=1234567</a><p>
			<label for="Supported_videos_list">Supported videos include:<br></label>
			<a target="_blank" href="http://www.hulu.com/">Hulu,</a>&nbsp;					
			<a target="_blank" href="http://www.youtube.com/">YouTube,</a>&nbsp;					
			<a target="_blank" href="http://www.vimeo.com/">Vimeo,</a>&nbsp;					
			<a target="_blank" href="http://www.dailymotion.com/">Dailymotion,</a>&nbsp;					
			<a target="_blank" href="http://www.metacafe.com/">Metacafe,</a>&nbsp;<br>					
			<a target="_blank" href="http://video.google.com/">Google,</a>&nbsp;					
			<a target="_blank" href="http://www.facebook.com/">Facebook</a>&nbsp;
		</p></div>
	</div>
	<div id="code_popup" style="display:none;">
		<p>Please paste your code into the box below:</p>
		<textarea id="dialog_input_code_value" rows="15" cols="65"></textarea>
	</div>
			
		<script type="text/javascript">
		// <!--	// These variable are used in "thread.js"
			var id					= 2916847;					// variable to store thread id
			var trail				= 25;					// end offset to show post on current page
			var forum				= 96296;					// variable to save forum id						
			var query				= '';										//  used to store extra parameters to showpending posts and highlight search text.
			var replies_perpage		= 25;	// total replies per page from forum settings
			var divToolsId 			= 'divThreadTools';								// id of Thread Tools and used in ajax_subscription.js
			var is_last_page 		= 0;
			var tool="mb";
		// -->
		</script>
		<script language="JavaScript" type="text/javascript" src="./4DGL disassembly - 4D SYSTEMS FORUM_files/prototype.js"></script>
		<script language="JavaScript" type="text/javascript" src="./4DGL disassembly - 4D SYSTEMS FORUM_files/effects.js"></script>
		</div><br>

	</div>
</div>



	





	
		<script type="text/javascript">
		  var vglnk = { api_url: '//api.viglink.com/api',
						key: 'ccc2217bc2b75c4bdf5f7e57267f0464' };

		  (function(d, t) {
			var s = d.createElement(t); s.type = 'text/javascript'; s.async = true;
			s.src = ('https:' == document.location.protocol ? vglnk.api_url :
					 '//cdn.viglink.com/api') + '/vglnk.js';
			var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r);
		  }(document, 'script'));
		</script>

		<script type="text/javascript">
			var __chd__ = {"aid":11405,"chaid":"websitetoolbox_com","nm":true};(function() { 
			var c = document.createElement('script'); c.type = 'text/javascript'; 
			c.async = true;c.src = ('https:' == document.location.protocol ? 'https://z': 'http://p') + '.chango.com/static/c.js'; 
			var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(c, s);})();
		</script> 
	



<div id="lightboxOverlay" style="display: none;"></div><div id="lightbox" style="display: none;"><div class="lb-outerContainer"><div class="lb-container"><img class="lb-image" id="lb-image"><div class="lb-nav"><a class="lb-prev"></a><a class="lb-next"></a></div><div class="lb-loader"><a class="lb-cancel"><img src="./4DGL disassembly - 4D SYSTEMS FORUM_files/loading.gif"></a></div></div></div><div class="lb-dataContainer"><div class="lb-data"><div class="lb-details"><span class="lb-caption"></span><span class="lb-number"></span></div><div class="lb-saveContainer" style="float:right;margin:0px 0px 0px 0px;margin:0px 0px 5px 0px;"><a class="lb-save" href="http://4d.websitetoolbox.com/post/images/lightbox2/image-2.jpg" target="_blank"><img src="./4DGL disassembly - 4D SYSTEMS FORUM_files/save.png"></a></div><div class="lb-closeContainer" style="float:right;margin:0px 0px 0px 0px;width:97%;"><a class="lb-close"><img src="./4DGL disassembly - 4D SYSTEMS FORUM_files/close.gif"></a></div></div></div></div><div style="display: none; z-index: 1000; outline: 0px; position: absolute;" class="ui-dialog ui-widget ui-widget-content ui-corner-all ui-draggable ui-resizable" tabindex="-1" role="dialog" aria-labelledby="ui-dialog-title-member_login"><div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix"><span class="ui-dialog-title" id="ui-dialog-title-member_login">Login</span><a href="http://4d.websitetoolbox.com/post/4DGL-disassembly-2916847#" class="ui-dialog-titlebar-close ui-corner-all" role="button"><span class="ui-icon ui-icon-closethick">close</span></a></div><div style="" id="member_login" class="ui-dialog-content ui-widget-content"><br>


	<form method="post" action="http://4d.websitetoolbox.com/register" name="frmLogin">
		<table border="0" cellpadding="0" cellspacing="0" width="100%" align="center">
			<tbody><tr class="table_row">
				<td align="left" width="5%">
					Username: 
				</td>
				<td align="left"><input type="text" name="member" value="" class="username_password_txtbox" tabindex="1"></td></tr>
			<tr class="table_row">
				<td align="left">
					Password:
				</td>
					<td align="left"><input class="username_password_txtbox" type="password" name="pw" value="" tabindex="2"><br>
						<a href="http://4d.websitetoolbox.com/register/lost_pw" id="anchor_tab_forget_password">Forgot password?</a>
					</td>
			</tr>
			<tr class="table_row">
			<td>&nbsp;</td>
				<td align="left">
					<input type="checkbox" name="remember" value="checked" id="rem" style="cursor:pointer" tabindex="3">&nbsp;&nbsp;<label for="rem" style="cursor:pointer;" id="rem_label">Log me in automatically on each visit</label>
				</td>
			</tr>						
			<tr class="table_row">
				 <td>&nbsp;</td>
				 <td align="left"><table border="0" cellpadding="0" cellspacing="0" class="nested_invisible_table">
						<tbody><tr>
							<td width="5" class="global_button_leftcurve">&nbsp;</td>
							<td class="global_button_middle">
								<input type="submit" name="Submit" value="Login" class="global_button_middle" tabindex="4">
							</td>
							<td width="15" class="global_button_rightcurve">&nbsp;</td>
							<input type="hidden" name="action" value="dologin">
							<input type="hidden" name="jump" value="http://4d.websitetoolbox.com/post/4DGL-disassembly-2916847">
						</tr>
					</tbody></table>
				</td>
			</tr>
		</tbody></table>
	</form>
	</div><div class="ui-resizable-handle ui-resizable-n" style="z-index: 1000;"></div><div class="ui-resizable-handle ui-resizable-e" style="z-index: 1000;"></div><div class="ui-resizable-handle ui-resizable-s" style="z-index: 1000;"></div><div class="ui-resizable-handle ui-resizable-w" style="z-index: 1000;"></div><div class="ui-resizable-handle ui-resizable-se ui-icon ui-icon-gripsmall-diagonal-se ui-icon-grip-diagonal-se" style="z-index: 1000;"></div><div class="ui-resizable-handle ui-resizable-sw" style="z-index: 1000;"></div><div class="ui-resizable-handle ui-resizable-ne" style="z-index: 1000;"></div><div class="ui-resizable-handle ui-resizable-nw" style="z-index: 1000;"></div></div></body></html>